﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Web
{
    public partial class order : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            BindData();
        }
        protected void BindData()
        {
            //Lấy data trong giỏ hàng và hiển thị lên site
            gvShoppingCart.DataSource = ShoppingCart.Instance.Items;
            gvShoppingCart.DataBind();
        }
        protected void gvShoppingCart_RowDataBound(object sender, GridViewRowEventArgs e)
        {

            if (e.Row.RowType == DataControlRowType.Footer)
            {
                
               
                e.Row.Cells.RemoveAt(1);
                e.Row.Cells.RemoveAt(2);
                e.Row.Cells[1].Text = "Tổng tiền:" + ShoppingCart.Instance.GetSubTotal().ToString() + "  VND";
                e.Row.Cells[0].ColumnSpan = 3;
            }
        }
        private void ThanhToanNganLuong()
        {
            PaymentController payment = new PaymentController();
            if (string.IsNullOrEmpty(Request.Form["submit"]))
            {
                string sum = ShoppingCart.Instance.GetSubTotal().ToString();
                //khai báo url trả về
                string return_url = "~/default.aspx";
                //khai báo địa chỉ email nhận tiền
                string receiver = "duyhung862000@yahoo.com";
                //khai báo thông tin giao dịch
                this.Response.Write("Kết quả thanh toán không hợp lệ");
                string transaction_info = "";
                //khai báo mã sản phẩm, mã đơn hàng, mã giỏ hàng
                string order_code = "test";
                //khai báo tổng số tiền thanh toán
                string price = sum;
                //gửi thông tin giao dịch đến nganluong.vn

                string url = payment.BuildCheckoutUrl(return_url, receiver, transaction_info, order_code, price);
                Response.Redirect(url);

            }

            if (this.Request.QueryString["process"] == "complete")
            {
                //lấy thông tin giao dịch
                string transaction_info = this.Request.QueryString["transaction_info"];
                //lấy mã sản phẩm, mã đơn hàng, giỏ hàng giao dịch
                string order_code = this.Request.QueryString["order_code"];
                //lấy tổng số tiền thanh toán
                string price = this.Request.QueryString["price"];
                //lấy mã giao dịch thanh toán tại nganluong.vn
                string payment_id = this.Request.QueryString["payment_id"];
                //lấy loại giao dịch tại nganluong.vn (1=thanh toán ngay, 2=thanh toán tạm giữ)
                string payment_type = this.Request.QueryString["payment_type"];
                //lấy thông tin chi tiết về lỗi trong quá trình thanh toán
                string error_text = this.Request.QueryString["error_text"];
                //lấy mã kiểm tra tính hợp lệ của đầu vào
                string secure_code = this.Request.QueryString["secure_code"];
                //xử lý đầu vào

                bool veri = payment.VerifyPaymentUrl(transaction_info, order_code, price, payment_id, payment_type, error_text, secure_code);
                if (veri == false)
                {
                    //tham số gửi về không hợp lệ, có sự can thiệp từ bên ngoài
                    this.Response.Write("Kết quả thanh toán không hợp lệ");
                }
                else
                {
                    if (!string.IsNullOrEmpty(error_text))
                    {
                        //có lỗi trong quá trình thanh toán
                        Response.Write("Có lỗi: " + error_text + "! Hãy thực hiện lại!");
                    }
                    else
                    {
                        //thanh toán thành công
                        this.Response.Write("Thanh toán thành công");
                    }

                }



            }
        }
        protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
        {
            ThanhToanNganLuong();
        }

       
    }
}